﻿<?php

class Application_Form_RegistarPostulante extends Zend_Form
{
	public function preValidate($data) 
	{
		if($data['tieneExp']==0){
			$empresa = $this->getElement('empresa');
			// Validacion
			$empresa->setRequired(true);
			$empresa->addErrorMessage('Ingrese su empresa ');
			
			// Campo puesto
			$puesto = $this->getElement('puesto');
			// Validacion
			$puesto->setRequired(true);
			$puesto->addErrorMessage('Ingrese su puesto ');
			
			// Campo referencia
			$referencia = $this->getElement('referencia');
			// Validacion
			$referencia->setRequired(true);
			$referencia->addErrorMessage('Ingrese su referencia ');
		}
		
		if($data['tieneEst']==0){
			// Campo institucion
			$institucion = $this->getElement('institucion');
			$institucion->setRequired(true);
			$institucion->addErrorMessage('Ingrese la institucion');
			
			// Campo titulo
			$titulo = $this->getElement('titulo');
			$titulo->setRequired(true);
			$titulo->addErrorMessage('Ingrese el titulo');
		
		}
		// var_dump($this->getElement("empresa"));die();
		return true;
	}

    public function init()
    {
        /* Form Elements & Other Definitions Here ... */
		$this->setName('registrarPostulante');
		$this->setMethod('post');
		$this->setAction('/postulantes/cargarcv');
		$this->setAttrib('class', 'mod-registrar-postulante');
		$this->setDecorators(array('FormElements','Form'));
		
		$decorators = array('ViewHelper', 'Errors', 'Label', 'DtDdWrapper');
		
		/**
		* Datos Personales
		*/
		
		// Campo nombre
		$nombre = new Zend_Form_Element_Text('nombre');
		$nombre->setLabel('Nombre:');
		$nombre->setAttrib('size', 30);
		$nombre->setDecorators($decorators);
		// Validacion
		$nombre->setRequired(true);
		$nombre->addErrorMessage('Ingrese su nombre ');
		
		// Campo apellido
		$apellido = new Zend_Form_Element_Text('apellido');
		$apellido->setLabel('Apellido:');
		$apellido->setAttrib('size', 30);
		$apellido->setDecorators($decorators);
		// Validacion
		$apellido->setRequired(true);
		$apellido->addErrorMessage('Ingrese su apellido ');
		
		// Campo email
		/*
		$email = new Zend_Form_Element_Text('email');
		$email->setLabel('email:');
		$email->setAttrib('size', 30);
		$email->setDecorators($decorators);
		// Validacion
		$email->setRequired(true);
		$email->addValidator('EmailAddress', true, array(
            'messages' => array(
                Zend_Validate_EmailAddress::INVALID => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::INVALID_FORMAT => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::INVALID_HOSTNAME => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::INVALID_MX_RECORD => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::INVALID_SEGMENT => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::DOT_ATOM => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::QUOTED_STRING => 'El email ingresado no es valido',
                Zend_Validate_EmailAddress::INVALID_LOCAL_PART => 'El email ingresado no es valido'
            )
        ));
		$email->addErrorMessage('Verifique el email ingresado '); */
		
		
		
		// Campo domicilio
		$domicilio = new Zend_Form_Element_Text('domicilio');
		$domicilio->setLabel('Domicilio:');
		$domicilio->setAttrib('size', 30);
		$domicilio->setDecorators($decorators);
		// Validacion
		$domicilio->setRequired(true);
		$domicilio->addErrorMessage('Ingrese su domicilio');
		
		// Campo telefono
		$telefono = new Zend_Form_Element_Text('telefono');
		$telefono->setAttrib('size', 30);
		$telefono->setDecorators($decorators);
		$telefono->getDecorator('Label')->setOption('escape',false);
		$telefono->setLabel('Teléfono:');
		// Validacion
		$telefono->setRequired(true);
		$telefono->addErrorMessage('Ingrese su teléfono');
		
		// Fecha Nac
		$fechanac = new Zend_Form_Element_Text('fechanac');
		$fechanac->setAttrib('size', 30);
		$fechanac->setDecorators($decorators);
		$fechanac->setLabel('Fecha de Nacimiento:');
		$fechanac->addValidator('Date', true, array(
			'messages' => array(
				'dateInvalidDate' => 'Opsss! Invalid date!'
			)
		));
		// Validacion
		$fechanac->setRequired(true);
		$fechanac->addErrorMessage('Ingrese su fecha de nacimiento');
		
		/**
		* Experiencia Laboral
		*/
		
		// Experiencia
		$tieneExperiencia = new Zend_Form_Element_Checkbox('tieneExp');
		$tieneExperiencia->setLabel('No tengo experiencia');
		$tieneExperiencia->setDecorators($decorators);
		
		// Campo empresa
		$empresa = new Zend_Form_Element_Text('empresa');
		$empresa->setLabel('Empresa:');
		$empresa->setAttrib('size', 30);
		$empresa->setDecorators($decorators);
		
		// Campo puesto
		$puesto = new Zend_Form_Element_Text('puesto');
		$puesto->setLabel('Puesto:');
		$puesto->setAttrib('size', 30);
		$puesto->setDecorators($decorators);
		
		// Campo referencia
		$referencia = new Zend_Form_Element_Text('referencia');
		$referencia->setLabel('Referencia:');
		$referencia->setAttrib('size', 30);
		$referencia->setDecorators($decorators);
		
		/**
		* Estudios Cursados
		*/
		//campo estudios 
		$tieneEstudios = new Zend_Form_Element_Checkbox('tieneEst');
		$tieneEstudios->setLabel('No tengo estudios');
		$tieneEstudios->setDecorators($decorators);
		// Campo institucion
		$institucion = new Zend_Form_Element_Text('institucion');
		$institucion->setLabel('Institucion:');
		$institucion->setAttrib('size', 30);
		$institucion->setDecorators($decorators);
		
		// Campo titulo
		$titulo = new Zend_Form_Element_Text('titulo');
		$titulo->setLabel('Titulo:');
		$titulo->setAttrib('size', 30);
		$titulo->setDecorators($decorators);
		
		// Boton enviar
		$enviar = new Zend_Form_Element_Submit('Finalizar');
		
		// Agregamos los campos al formulario
		//$this->addElements(array($nombre,$apellido,$domicilio,$telefono,$fechanac,$enviar));
		$this->addDisplayGroup(array($nombre,$apellido,$domicilio,$telefono,$fechanac),'datos-personales',
			array('legend'=>'Datos Personales'));
		$this->addDisplayGroup(array($tieneExperiencia,$empresa,$puesto,$referencia),'experiencia-laboral',
			array('legend'=>'Experiencia Laboral'));
		$this->addDisplayGroup(array($tieneEstudios,$institucion,$titulo,$enviar),'estudios-cursados',
			array('legend'=>'Estudios Cursados'));
    }


}

